1. Field
The following description relates to a memory architecture for processing image data.
2. Description of the Related Art
Image data is generally represented by a two-dimensional (2D) array of a plurality of pixel values. Due to properties of the image data, adjacent pixel values are often processed together. For example, in a case of image compression, which is a representative image processing technique, adjacent pixel values in a horizontal or a vertical direction tend to be processed sequentially.
In order to process the image data, each pixel value of the image data needs to be loaded onto a predefined memory region accessible by an image processing device. The predefined memory region is generally defined as a one-dimensional (1D) space or a one-dimensional (1D) array. Thus, a 2D array of pixel values of the image data is loaded onto the predefined memory region as a 1D array data.
Then, in order for the image processing device to access the image data in a column direction, additional address calculation is required. However, the additional address calculation may attribute for a greater overhead than for overhead attributed to processing the image data alone. In addition, since a memory access pattern for accessing the image data in a row direction differs from a memory access pattern for accessing the image data in a column direction, it requires a great deal of overhead to properly access the image data loaded into the 1D array.